<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>promise + event loop</title>
</head>
<body>
    <script>
        // 前端环境
        // 异步任务同步化的标准方案
        // promise 进入异步
        // js单线程分为 同步任务 异步任务
        // 执行栈  全局
        // 同步任务 Promise 构造函数的运行
        // Promise 构造函数本身是同步的，它只是具有封装异步任务的能力
        const promise1 = new Promise((resolve,reject) => {
            // #Promise的三种状态 pending - 进行中 fulfilled - 成功 rejected - 失败 
            // 立即进入 pending 状态
            console.log('promise1')  // 1
            // setTimeout(() => {
            resolve();  // fulfilled 状态
            // },1000)
        })
        // 异步 等待 进入 event loop
        // then 代码 放入 event loop 
        promise1  
            .then(() => { 
                console.log('2222')  // 3
            })
        console.log('1',promise1); // 2
    </script>
</body>
</html>